package org.yefei.homeworkday21.threeandfour;

import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;

public class ListTest {
	public static void main(String[] args) {

		/*
		 * 3:福彩“双色球”是民政部公开发行的彩票，每注投注号码由6个红色球号码和1个蓝色球号码组成。红色球号码从1--33中选择；蓝色球号码从1--16中选择。
		 * 购买时，红色球号码中选择6个号码，从蓝色球号码中选择1个号码，组合成1注投注号码.
		 * 
		 * 要求帮客户随机生成一注中奖号码，务必按照红球6个号码在前，1个篮球号码在后的方式排列，同时红球号按照顺序排列。
		 * （提示：可以用List保存中奖号码，注意，6个红球号码不允许重复）
		 */

		/*
		 * 4：现在假设中奖号码已经存在一个集合中（比如上题中的List）， 输入你购买的彩票号码，判断中了几等奖，规则如下：
		 * 一等奖：7个号码相符（6个红色球号码和1个蓝色球号码）（红色球号码顺序不限，下同） 二等奖：6个红色球号码相符；
		 * 三等奖：5个红色球号码和1个蓝色球号码相符； 四等奖：5个红色球号码，或4个红色球号码和1个蓝色球号码相符；
		 * 五等奖：4个红色球号码，或3个红色球号码和1个蓝色球号码相符； 六等奖：1个蓝色球号码相符（有无红色球号码相符均可）。
		 */
		Scanner in = new Scanner(System.in);
		// 中奖红球：
		List<Integer> list = new LinkedList<Integer>();
		for (int i = 1; i <= 6;) {
			int rNum = (int) (Math.random() * 33 + 1);
			if (!(list.contains(rNum))) {
				list.add(rNum);
				i++;
			}
		}
		// 中奖蓝球
		int bNum = (int) (Math.random() * 16 + 1);
		list.add(bNum);
		for (Integer integer : list) {
			System.out.println(integer);
		}

		List<Integer> list1 = new LinkedList<Integer>();

		// 我的蓝球
		System.out.println("我的蓝色球号码是（范围1-17）：");
		int blue = in.nextInt();
		boolean flag = false;
		if (blue == list.get(list.size() - 1)) {
			flag = true;
			System.out.println("蓝球中奖！");
		} else {
			flag = false;
			System.out.println("蓝球未中奖！");
		}

		// 我的红球
		System.out.println("6个红球的号码是（范围1-33）：");
		for (int i = 1; i <= 6;) {
			int red = in.nextInt();
			if (!(list1.contains(red))) {
				list1.add(red);
				i++;
			}
		}
		int count = 0;
		list.remove(list.size() - 1);
		for (int i = 0; i < list.size(); i++) {
			if (list.contains(list1.get(i))) {
				count++;
			}
		}

		if (count == 6 && flag)

		{
			System.out.println("一等奖");
		} else if (count == 6) {
			System.out.println("二等奖");
		} else if (count == 5 && flag) {
			System.out.println("三等奖");
		} else if (count == 5 || (count == 4 && flag)) {
			System.out.println("四等奖");
		} else if (count == 4 || (count == 3 && flag)) {
			System.out.println("五等奖");
		} else if (flag) {
			System.out.println("六等奖");
		} else {
			System.out.println("未中奖");
		}
	}
}
